package com.bzkj.msfx.mapper;

import com.bzkj.msfx.domain.BillsList;
import com.bzkj.msfx.domain.BillsMsfxDetail;
import com.bzkj.msfx.domain.warehouseXml.WarehouseXmlDetail;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;

/**
 * @projectName: bzkj-wms
 * @package: com.bzkj.mapper
 * @className: WarehouseMapper.xml
 * @description: 码上放心出入库单持久层
 * @author: C1309
 * @createDate: 2024年10月23日
 * @version: v1.0
 */
public interface MsfxWarehouseMapper {


    /**
     * 查询出入库单据明细
     *
     * @param billsId 出入库单据编号
     * @return 单据明细集合
     */
    ArrayList<WarehouseXmlDetail> selectBillsDetailListXml(@Param("billsId") String billsId,@Param("entId") String entId);

    /**
     * 更新出入库单据状态
     *
     * @param billsId 出入库单据编号
     * @return 影响行数
     */
    int updateBillsFlag(String billsId);

    /**
     * 查询PDA出入库单据列表
     *
     * @param beginDate  查询开始时间
     * @param endDate    查询结束时间
     * @param flag       查询类型
     * @param businessId 工厂id
     * @param billsId    单据id
     * @param userId     用户id
     * @param billsType  单据类型
     * @return 查询结果
     */
    ArrayList<BillsList> selectBillsList(@Param("beginDate") String beginDate,
                                         @Param("endDate") String endDate,
                                         @Param("flag") String flag,
                                         @Param("businessId") String businessId,
                                         @Param("billsId") String billsId,
                                         @Param("userId") String userId,
                                         @Param("billsType") String billsType);

    /**
     * 查询PDA出入库单明细
     *
     * @param billsId 出入库单id
     * @return 查询结果
     */
    ArrayList<BillsMsfxDetail> selectBillsDetailList(@Param("billsId") String billsId);

    /**
     * 追溯码替换
     *
     * @param oldCode 旧码
     * @param newCode 新码
     * @return 查结果
     */
    int changeCode(@Param("oldCode") String oldCode, @Param("newCode") String newCode);
}
